package cn.com.cis.persistence;


import java.util.List;

import cn.com.cis.domain.GlobalParam;
import cn.com.cis.domain.GlobalParamGroup;

/**
 * 全局参数管理DAO接口
 * @author Huhaishen
 * 2015年10月22日
 */
public interface GlobalParameterMapper {
	
	/**
	 * 添加组
	 * @param globalParamGroup 全局参数组别
	 */
	void addGroup(GlobalParamGroup globalParamGroup);
	
	/**
	 * 根据id删除组别
	 * @param id 组别ID
	 */
	void delGroupById(int id);
	
	/**
	 * 修改组别信息
	 * @param id 组别ID
	 */
	void modifyGroup(GlobalParamGroup group);
	
	/**
	 * 查找所有分组
	 * @return 分组列表
	 */
	List<GlobalParamGroup> findAllGroup();
	
	/**
	 * 根据组ID查找分组
	 * @param id 组ID
	 * @return
	 */
	GlobalParamGroup findGroupById(int id);
	
	/**
	 * 根据组名查询组
	 * @param groupName
	 * @return
	 */
	List<GlobalParamGroup> findGroupByName(String groupName);
	
	/**
	 * 添加全局参数
	 * @param parameter
	 */
	void addGlobalParam(GlobalParam  parameter);
	
	/**
	 * 根据ID删除全局参数
	 * @param id 全局参数ID
	 */
	void delGlobalParamById(int id);
	
	/**
	 * 根据组ID删除全局参数
	 * @param groupId 组ID
	 */
	void delGlobalParamByGroupId(int groupId);
	
	/**
	 * 根据ID删除全局参数
	 * @param id 全局参数ID
	 */
	void modifyGlobalParam(GlobalParam param);
	
	/**
	 * 查找所有全局参数
	 * @return 全局参数列表
	 */
	List<GlobalParam> findAllGlobalParam();
	
	/**
	 * 根据组ID查找全局参数
	 * @return 全局参数列表
	 */
	List<GlobalParam> findGlobalParamByGroupId(int groupId);
	
	/** 
	 * 根据ID查找全局参数
	 * @param id 参数ID
	 * @return 全局参数
	 */
	GlobalParam findGlobalParamById(int id);
	
	/**
	 * 根据名称查找参数
	 * @param name
	 * @return
	 */
	List<GlobalParam> findGlobalParamByName(String name);
	
}
